/*
 * @author Bardelle Renzo
 */

var GREEN="#99ff99";
var RED="#ff6666";
var CFregexp=new RegExp("^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{3}[A-Za-z]{1}$","i");
var CCregexp=new RegExp("^[0-9]{16}$");
var Mailregexp=new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$","i");

function checkMail()
{
	$("#messaggi-utente").html("");
	var elem=document.getElementById("email");
	if(Mailregexp.test(elem.value))
	{
		elem.style.backgroundColor=GREEN;
		return true;
	}
	else
	{
		elem.style.backgroundColor=RED;
		return false;
	}
}

function checkPW()
{
	$("#messaggi-utente").html("");
	var elem=document.getElementById("password");
	if(elem.value.length>0)
	{
		elem.style.backgroundColor=GREEN;
		return true;
	}
	else
	{
		elem.style.backgroundColor=RED;
		return false;
	}
}

function checkCognome()
{	
	$("#messaggi-utente").html("");
	var elem=document.getElementById("cognome");
	if(elem.value.length>0)
	{
		elem.style.backgroundColor=GREEN;
		return true;
	}
	else
	{
		elem.style.backgroundColor=RED;
		return false;
	}
}

function checkNome()
{
	$("#messaggi-utente").html("");
	var elem=document.getElementById("nome");
	if(elem.value.length>0)
	{
		elem.style.backgroundColor=GREEN;
		return true;
	}
	else
	{
		elem.style.backgroundColor=RED;
		return false;
	}
}

function checkCF()
{
	$("#messaggi-utente").html("");
	var elem=document.getElementById("codfiscale");
	if(CFregexp.test(elem.value))
	{
		elem.value=elem.value.toUpperCase();
		elem.style.backgroundColor=GREEN;
		return true;
	}
	else
	{
		elem.style.backgroundColor=RED;
		return false;
	}
}

function checkCC()
{
	$("#messaggi-utente").html("");
	var elem=document.getElementById("cartacredito");
	if(CCregexp.test(elem.value) || elem.value.length==0)
	{
		elem.style.backgroundColor=GREEN;
		return true;
	}
	else
	{
		elem.style.backgroundColor=RED;
		return false;
	}
}

function validateRegistration()
{
	if( checkMail() && checkPW() && checkCognome() && checkNome() && checkCF() && checkCC())
	{
		//alert("Dati inseriti nel formato corretto.");
		
		var dataString = 'email='+$("#email").val()+'&password='+$("#password").val()
						+'&cognome='+$("#cognome").val()+'&nome='+$("#nome").val()+'&codfiscale='
						+$("#codfiscale").val()+'&cartacredito='+$("#cartacredito").val()
						+'&newsletter='+$("#newsletter").is(':checked');  
		
		//alert(dataString);
		
		$.ajax({  
 				type: "POST",  
 				url: "../crea-utente",  
 				data: dataString,  
 				success: function(response) 
 					{ 
 						if((""+response).length>0)
   				  		{
   				  			//alert("Riscontrato errore nell'inserimento dei dati.\n"
   				  			//		+ "È possibile che calcuni dati dell'utente siano già presenti nel database.")
   				  			//		$("#messaggi-utente").html(response);
 							
 							$("#messaggi-utente").html("<font id=\"error-message-title\">"+
 									"Errore di registrazione</font><br><br>"+
 									"<div id=\"error-message-body\">Possibili cause:<br><br>"+
 									"<ul><li>alcuni dei dati inseriti sono gia' presenti nel nostro database;</li>"+
 									"<li>il database e' momentaneamente non raggiungibile.</li></ul><br>"+
 									"Si prega di verificare i dati inseriti e ripetere l'operazione di \"Conferma\".</div>");
   				  		}
   				  		else
   				  		{
   				  			//alert("Registrazione completata con successo!!");
   				  			$("#form-content-div").html("<div id=\"successo\">Registrazione eseguita con successo!</div>");
   				  		}
 					},
 				error: function() 
 					{ 
       					//alert("Errore nell'inviare i dati al server, si prega di riprovare!");
 						$("#messaggi-utente").html("<font id=\"error-message-title\">"+
								"Problema di connessione al server</font><br><br>"+
								"<div id=\"error-message-body\">" +
								"Si prega di verificare i dati inseriti e ripetere l'operazione di \"Conferma\".</div>");
 					}
       	});   
	}
	else
	{
		//alert("Le informazioni inserite non sono valide!");
		$("#messaggi-utente").html("<font id=\"error-message-title\">"+
				"Le informazioni inserite non sono valide!</font><br><br>"+
				"<div id=\"error-message-body\">" +
				"Si prega di verificare i dati inseriti e ripetere l'operazione di \"Conferma\".</div>");
	}
	return false;
}